The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
People with disabilities use electronic documents (for example, pdfs, web pages, word processing documents, or spreadsheet documents) with the help of assistive technologies that identify the content of the electronic documents. Assistive technologies, as referred to herein, include any software and/or hardware that interprets information for presenting to a user. Examples of assistive technologies include, but are not limited to screen readers, text to speech software, digital book players, Braille displays, Braille embossers, and electronic note takers. Assistive technologies convey information using visual, audio, or touch stimuli. For example, assistive technology such as a screen reader may be configured to read out the contents of a web page that are normally displayed to a user when the web page is rendered by a web browsing application.
However, assistive technologies may not properly be able to identify the content within a document if the document is not designed for interpretation by assistive technologies. For example, a Hyper Text Markup Language (HTML) document includes elements such as a table that is formatted with tags <tr>, <td>, or <th>. Some screen readers are unable to distinguish these HTML tags that format the table from table values that are displayed when the HTML document is rendered by a web browsing application. As a result, screen readers read the tags out loud, as if the tags were part of the normal displayed textual content of the document, for a user with a visual disability. Screen readers are unable to determine a proper sequence in which the table values should be read to sensibly convey the content to a user, or unnecessarily read out layout information such as “table with two columns and one row” to a user.